using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using JSON;

public class JSONMonster{
	#region 单例
	private static JSONMonster instance;
	public static JSONMonster getInstance(){
	if (instance == null)
		instance = new JSONMonster ();
		return instance;
	}
	#endregion

	#region 变量
	private JSONNode json;
	private JSONNode JSONData{
		get{
			if(json == null)
				json = JsonRead.Read("JSONMonster");
			return json;
		}
	}
	#endregion
	#region 外部调用
	public void Clear(){
		json = null;
	}
	public JSONNode GetJSON(string key){
		return JSONData [key];
	}
	public JSONNode GetJSON(int index){
		return JSONData [index];
	}
	/// <summary>
	/// 有多少个数据
	/// </summary>
	public int GetCount(){
	return JSONData.Count;
	}

    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListID(int target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetID(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 怪物ID
	/// </summary>
	public int GetID(string key){
		JSONNode json = GetJSON (key);
		int  value;
		value = json["ID"].AsInt;
		return  value;
	}
	/// <summary>
	/// 怪物ID :From Index
	/// </summary>
	public int GetID(int index){
		int value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetID(index.ToString());
			return  value;
		}
		value = json["ID"].AsInt;
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListPrefabName(string target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetPrefabName(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 资源名
	/// </summary>
	public string GetPrefabName(string key){
		JSONNode json = GetJSON (key);
		string  value;
		value = json["PrefabName"].ToString();
		return  value;
	}
	/// <summary>
	/// 资源名 :From Index
	/// </summary>
	public string GetPrefabName(int index){
		string value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetPrefabName(index.ToString());
			return  value;
		}
		value = json["PrefabName"].ToString();
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListLV(int target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetLV(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 等级
	/// </summary>
	public int GetLV(string key){
		JSONNode json = GetJSON (key);
		int  value;
		value = json["LV"].AsInt;
		return  value;
	}
	/// <summary>
	/// 等级 :From Index
	/// </summary>
	public int GetLV(int index){
		int value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetLV(index.ToString());
			return  value;
		}
		value = json["LV"].AsInt;
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListRank(int target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetRank(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 阶级（星阶） (副本难度以星阶为梯度) 
	/// </summary>
	public int GetRank(string key){
		JSONNode json = GetJSON (key);
		int  value;
		value = json["Rank"].AsInt;
		return  value;
	}
	/// <summary>
	/// 阶级（星阶） (副本难度以星阶为梯度)  :From Index
	/// </summary>
	public int GetRank(int index){
		int value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetRank(index.ToString());
			return  value;
		}
		value = json["Rank"].AsInt;
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListLife(int target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetLife(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 血量
	/// </summary>
	public int GetLife(string key){
		JSONNode json = GetJSON (key);
		int  value;
		value = json["Life"].AsInt;
		return  value;
	}
	/// <summary>
	/// 血量 :From Index
	/// </summary>
	public int GetLife(int index){
		int value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetLife(index.ToString());
			return  value;
		}
		value = json["Life"].AsInt;
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListAttack(int target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetAttack(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 攻击力
	/// </summary>
	public int GetAttack(string key){
		JSONNode json = GetJSON (key);
		int  value;
		value = json["Attack"].AsInt;
		return  value;
	}
	/// <summary>
	/// 攻击力 :From Index
	/// </summary>
	public int GetAttack(int index){
		int value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetAttack(index.ToString());
			return  value;
		}
		value = json["Attack"].AsInt;
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListAttackDistance(int target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetAttackDistance(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 攻击距离 (需转为Float/1000) 
	/// </summary>
	public int GetAttackDistance(string key){
		JSONNode json = GetJSON (key);
		int  value;
		value = json["AttackDistance"].AsInt;
		return  value;
	}
	/// <summary>
	/// 攻击距离 (需转为Float/1000)  :From Index
	/// </summary>
	public int GetAttackDistance(int index){
		int value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetAttackDistance(index.ToString());
			return  value;
		}
		value = json["AttackDistance"].AsInt;
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListMoveSpeed(int target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetMoveSpeed(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 移动速度 (需转为Float/1000) 
	/// </summary>
	public int GetMoveSpeed(string key){
		JSONNode json = GetJSON (key);
		int  value;
		value = json["MoveSpeed"].AsInt;
		return  value;
	}
	/// <summary>
	/// 移动速度 (需转为Float/1000)  :From Index
	/// </summary>
	public int GetMoveSpeed(int index){
		int value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetMoveSpeed(index.ToString());
			return  value;
		}
		value = json["MoveSpeed"].AsInt;
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListAttackGap(int target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetAttackGap(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 攻击间隔 (需转为Float/1000) 
	/// </summary>
	public int GetAttackGap(string key){
		JSONNode json = GetJSON (key);
		int  value;
		value = json["AttackGap"].AsInt;
		return  value;
	}
	/// <summary>
	/// 攻击间隔 (需转为Float/1000)  :From Index
	/// </summary>
	public int GetAttackGap(int index){
		int value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetAttackGap(index.ToString());
			return  value;
		}
		value = json["AttackGap"].AsInt;
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListCrit(int target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetCrit(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 暴击率 (需转为Float/10000) 
	/// </summary>
	public int GetCrit(string key){
		JSONNode json = GetJSON (key);
		int  value;
		value = json["Crit"].AsInt;
		return  value;
	}
	/// <summary>
	/// 暴击率 (需转为Float/10000)  :From Index
	/// </summary>
	public int GetCrit(int index){
		int value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetCrit(index.ToString());
			return  value;
		}
		value = json["Crit"].AsInt;
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListCritHurt(int target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetCritHurt(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 暴击伤害 (需转为Float/10000) 
	/// </summary>
	public int GetCritHurt(string key){
		JSONNode json = GetJSON (key);
		int  value;
		value = json["CritHurt"].AsInt;
		return  value;
	}
	/// <summary>
	/// 暴击伤害 (需转为Float/10000)  :From Index
	/// </summary>
	public int GetCritHurt(int index){
		int value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetCritHurt(index.ToString());
			return  value;
		}
		value = json["CritHurt"].AsInt;
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListMoveType(int target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetMoveType(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 移动的类型 (0=A*  1=Transform 2=刚体) 
	/// </summary>
	public int GetMoveType(string key){
		JSONNode json = GetJSON (key);
		int  value;
		value = json["MoveType"].AsInt;
		return  value;
	}
	/// <summary>
	/// 移动的类型 (0=A*  1=Transform 2=刚体)  :From Index
	/// </summary>
	public int GetMoveType(int index){
		int value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetMoveType(index.ToString());
			return  value;
		}
		value = json["MoveType"].AsInt;
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListModelScale(int target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetModelScale(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 模型尺寸 (需转为Float/1000) 
	/// </summary>
	public int GetModelScale(string key){
		JSONNode json = GetJSON (key);
		int  value;
		value = json["ModelScale"].AsInt;
		return  value;
	}
	/// <summary>
	/// 模型尺寸 (需转为Float/1000)  :From Index
	/// </summary>
	public int GetModelScale(int index){
		int value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetModelScale(index.ToString());
			return  value;
		}
		value = json["ModelScale"].AsInt;
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListInitBuff(int[] target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetInitBuff(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 初始buff
	/// </summary>
	public int[] GetInitBuff(string key){
		JSONNode json = GetJSON (key);
		int[]  value;
		value = JsonRead.AsIntS(json["InitBuff"]);
		return  value;
	}
	/// <summary>
	/// 初始buff :From Index
	/// </summary>
	public int[] GetInitBuff(int index){
		int[] value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetInitBuff(index.ToString());
			return  value;
		}
		value = JsonRead.AsIntS(json["InitBuff"]);
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListAttackIdleGap(int target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetAttackIdleGap(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 攻击待机间隔
	/// </summary>
	public int GetAttackIdleGap(string key){
		JSONNode json = GetJSON (key);
		int  value;
		value = json["AttackIdleGap"].AsInt;
		return  value;
	}
	/// <summary>
	/// 攻击待机间隔 :From Index
	/// </summary>
	public int GetAttackIdleGap(int index){
		int value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetAttackIdleGap(index.ToString());
			return  value;
		}
		value = json["AttackIdleGap"].AsInt;
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListAttackOffset(int target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetAttackOffset(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 攻击偏差
	/// </summary>
	public int GetAttackOffset(string key){
		JSONNode json = GetJSON (key);
		int  value;
		value = json["AttackOffset"].AsInt;
		return  value;
	}
	/// <summary>
	/// 攻击偏差 :From Index
	/// </summary>
	public int GetAttackOffset(int index){
		int value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetAttackOffset(index.ToString());
			return  value;
		}
		value = json["AttackOffset"].AsInt;
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListSeekDistance(int target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetSeekDistance(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 监视距离 (需转为Float/1000) 
	/// </summary>
	public int GetSeekDistance(string key){
		JSONNode json = GetJSON (key);
		int  value;
		value = json["SeekDistance"].AsInt;
		return  value;
	}
	/// <summary>
	/// 监视距离 (需转为Float/1000)  :From Index
	/// </summary>
	public int GetSeekDistance(int index){
		int value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetSeekDistance(index.ToString());
			return  value;
		}
		value = json["SeekDistance"].AsInt;
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListAIType(string target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetAIType(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// AI类型 (以Json形式配置) 
	/// </summary>
	public string GetAIType(string key){
		JSONNode json = GetJSON (key);
		string  value;
		value = json["AIType"].ToString();
		return  value;
	}
	/// <summary>
	/// AI类型 (以Json形式配置)  :From Index
	/// </summary>
	public string GetAIType(int index){
		string value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetAIType(index.ToString());
			return  value;
		}
		value = json["AIType"].ToString();
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListSummonSpace(string target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetSummonSpace(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 召唤间隔 (进场开始计时（秒）需转为Float/1000) 
	/// </summary>
	public string GetSummonSpace(string key){
		JSONNode json = GetJSON (key);
		string  value;
		value = json["SummonSpace"].ToString();
		return  value;
	}
	/// <summary>
	/// 召唤间隔 (进场开始计时（秒）需转为Float/1000)  :From Index
	/// </summary>
	public string GetSummonSpace(int index){
		string value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetSummonSpace(index.ToString());
			return  value;
		}
		value = json["SummonSpace"].ToString();
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListVisualrange(int target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetVisualrange(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 可视范围 (需转为Float/1000) 
	/// </summary>
	public int GetVisualrange(string key){
		JSONNode json = GetJSON (key);
		int  value;
		value = json["Visualrange"].AsInt;
		return  value;
	}
	/// <summary>
	/// 可视范围 (需转为Float/1000)  :From Index
	/// </summary>
	public int GetVisualrange(int index){
		int value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetVisualrange(index.ToString());
			return  value;
		}
		value = json["Visualrange"].AsInt;
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListXSize(float target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetXSize(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// X大小
	/// </summary>
	public float GetXSize(string key){
		JSONNode json = GetJSON (key);
		float  value;
		value = json["XSize"].AsFloat;
		return  value;
	}
	/// <summary>
	/// X大小 :From Index
	/// </summary>
	public float GetXSize(int index){
		float value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetXSize(index.ToString());
			return  value;
		}
		value = json["XSize"].AsFloat;
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListHitEffect(string target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetHitEffect(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 受击特效
	/// </summary>
	public string GetHitEffect(string key){
		JSONNode json = GetJSON (key);
		string  value;
		value = json["HitEffect"].ToString();
		return  value;
	}
	/// <summary>
	/// 受击特效 :From Index
	/// </summary>
	public string GetHitEffect(int index){
		string value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetHitEffect(index.ToString());
			return  value;
		}
		value = json["HitEffect"].ToString();
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListDieEffect(string target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetDieEffect(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 死亡特效
	/// </summary>
	public string GetDieEffect(string key){
		JSONNode json = GetJSON (key);
		string  value;
		value = json["DieEffect"].ToString();
		return  value;
	}
	/// <summary>
	/// 死亡特效 :From Index
	/// </summary>
	public string GetDieEffect(int index){
		string value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetDieEffect(index.ToString());
			return  value;
		}
		value = json["DieEffect"].ToString();
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListAttackSkillID(int target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetAttackSkillID(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 攻击时的技能ID
	/// </summary>
	public int GetAttackSkillID(string key){
		JSONNode json = GetJSON (key);
		int  value;
		value = json["AttackSkillID"].AsInt;
		return  value;
	}
	/// <summary>
	/// 攻击时的技能ID :From Index
	/// </summary>
	public int GetAttackSkillID(int index){
		int value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetAttackSkillID(index.ToString());
			return  value;
		}
		value = json["AttackSkillID"].AsInt;
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListBaseAniSpeed(int target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetBaseAniSpeed(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 移动动画速度 (需转为Float/1000) 
	/// </summary>
	public int GetBaseAniSpeed(string key){
		JSONNode json = GetJSON (key);
		int  value;
		value = json["BaseAniSpeed"].AsInt;
		return  value;
	}
	/// <summary>
	/// 移动动画速度 (需转为Float/1000)  :From Index
	/// </summary>
	public int GetBaseAniSpeed(int index){
		int value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetBaseAniSpeed(index.ToString());
			return  value;
		}
		value = json["BaseAniSpeed"].AsInt;
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListshowAnimName(string target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetshowAnimName(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	///  (出场动画) 
	/// </summary>
	public string GetshowAnimName(string key){
		JSONNode json = GetJSON (key);
		string  value;
		value = json["showAnimName"].ToString();
		return  value;
	}
	/// <summary>
	///  (出场动画)  :From Index
	/// </summary>
	public string GetshowAnimName(int index){
		string value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetshowAnimName(index.ToString());
			return  value;
		}
		value = json["showAnimName"].ToString();
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListnum(int target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( Getnum(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 怪物数量 (一张卡出几只) 
	/// </summary>
	public int Getnum(string key){
		JSONNode json = GetJSON (key);
		int  value;
		value = json["num"].AsInt;
		return  value;
	}
	/// <summary>
	/// 怪物数量 (一张卡出几只)  :From Index
	/// </summary>
	public int Getnum(int index){
		int value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = Getnum(index.ToString());
			return  value;
		}
		value = json["num"].AsInt;
		return  value;
	}
    /// <summary>
	/// GetJSONNodeList Like Target
	/// </summary>
	public int[] GetListduelPowerAddition(int target){
		List<int> list = new List<int>();
		for (int i = 0; i < GetCount(); i++) {
			if( GetduelPowerAddition(i) == target)
				list.Add(i);
		}
		return list.ToArray();
	}
	/// <summary>
	/// 战斗时能量增长速度 (需转为Float/1000) 
	/// </summary>
	public int GetduelPowerAddition(string key){
		JSONNode json = GetJSON (key);
		int  value;
		value = json["duelPowerAddition"].AsInt;
		return  value;
	}
	/// <summary>
	/// 战斗时能量增长速度 (需转为Float/1000)  :From Index
	/// </summary>
	public int GetduelPowerAddition(int index){
		int value;
		JSONNode json = GetJSON (index);
		if(json == null){
			value = GetduelPowerAddition(index.ToString());
			return  value;
		}
		value = json["duelPowerAddition"].AsInt;
		return  value;
	}

	#endregion
}